import _ from 'lodash' import { useRouter } from 'next/router' import { useState, useEffect } from 'react' import { useSearchParams } from 'next/navigation' import { TOKEN_HASH_MAP } from '@synapsecns/synapse-constants' import { useQuery } from '@apollo/client' import { GET_BRIDGE_TRANSACTIONS_QUERY } from '@graphql/queries' import { TRANSACTIONS_PATH, getChainUrl } from '@urls' import { CopyTitle } from '@components/misc/CopyTitle' import { AssetImage } from '@components/misc/AssetImage' import { ChainInfo } from '@components/misc/ChainInfo' import { HolisticStats } from '@components/misc/HolisticStats' import { HorizontalDivider } from '@components/misc/HorizontalDivider' import { SynapseLogoSvg } from '@components/layouts/MainLayout/SynapseLogoSvg' import { StandardPageContainer } from '@components/layouts/StandardPageContainer' import { BridgeTransactionTable } from '@components/BridgeTransaction/BridgeTransactionTable' import { checksumAddress } from '@utils/checksum' interface variableTypes { page: number addressFrom?: string useMv?: boolean addressTo?: string tokenAddressFrom?: string | string[] tokenAddressTo?: string[] chainIDFrom?: any chainIDTo?: any chainId?: any } export const Token = () => { const router = useRouter() const { tokenAddress } = router.query const search = useSearchParams() const chain_id = Number(search.get('chainId')) || 1 const [platform, setPlatform] = useState('ALL') const [transactionsArr, setTransactionsArr] = useState([]) const [tokenChainID, setTokenChainID] = useState([]) const [variables, setVariables] = useState({ page: 1 }) const [completed] = useState(false) const [address, setAddress] = useState('') const unSelectStyle = 'transition ease-out border-l-0 border-gray-700 border-opacity-30 text-gray-500 bg-gray-700 bg-opacity-30 hover:bg-opacity-20 ' const selectStyle = 'text-white border-[#BE78FF] bg-synapse-radial' const { loading, stopPolling, startPolling } = useQuery( GET_BRIDGE_TRANSACTIONS_QUERY, { pollInterval: 5000, variables, fetchPolicy: 'network-only', onCompleted: (data) => { let bridgeTransactionsTable = data.bridgeTransactions bridgeTransactionsTable = _.orderBy( bridgeTransactionsTable, 'fromInfo.time', ['desc'] ) setTransactionsArr(bridgeTransactionsTable) }, } ) useEffect(() => { if (!completed) { startPolling(10000) } else { stopPolling() } return () => { stopPolling() } }, [stopPolling, startPolling, completed]) // Get initial data useEffect(() => { setAddress(checksumAddress(tokenAddress)) setTokenChainID(chain_id) setVariables({ page: 1, tokenAddressFrom: [checksumAddress(tokenAddress)], chainIDFrom: chain_id, useMv: true, }) }, [chain_id, tokenAddress]) return (

{TOKEN_HASH_MAP[tokenChainID]?.[address]?.symbol}{' '}




Recent Transactions

{loading ? (
) : ( )}
) } const TokenPage = () => { return } export default TokenPage